D2GRs2 方法对比

1# 成本对比

GRs DLRMs(du) 备注
参数量 最大1.5万亿 精排1.2亿
样本量 1000亿 1亿/天 追3个月100亿的样本
1倍
运算量
:排序
1020Flops/day
和传统DLRM持平
1016Flops/day 1万倍
0.3GFLOPS * 样本1亿/天
原文对比的DLRM计算量也大
DLRM缩放到2000亿都有提升
运算量
:召回
1018Flops/day
略超过DLRM
1016Flops/day 100倍
序列长度 最长8192 最长200
特征维度 序列+用户信息 序列+行为统计
场景商品上下文
千川 行为统计 最长半年
时间半年
95%用户半年点击商品<122
75%用户半年点击商品>185

长度200
有用户半年前行为的占18%
训练资源 64-256 H100 2 L20? 开源数据运行需要29G GPU
训练的最大序列长度是200

2# 效果对比

GRs DLRMs(du)
排序 E-Task +12.4%
C-Task +4.4%
1000个dense特征
50个稀疏特征
MoE、DCN、DIN,residual connection等
替代召回 E-Task +5.1%
C-Task +1.9%
双塔模型,in-batch and out-of-batch采样
特征包括id、稀疏特征等。
通过残差连接MLP将输入压缩成user和item表征
新增召回 E-Task +6.2%
C-Task +5.0%

3# 样本对比

样本 GRs DLRMs 备注
数据量 曝光量*采样 曝光量 对第i个用户按比例su(ni) 采样
where ni is the number of tokens of user i
每次曝光20 ni+20
新用户ni=0 请求一次结束,曝光20
采样比例 1/ni 类似一次曝光只保留一个样本
格式 用户基础
曝光序列
行为序列
时间序列
用户基础
点击序列
商品信息
场景统计
用户统计
商品统计
上下文
特征 类型 GRs DLRMs 备注
用户基础 sparse 相同 相同 用户年龄、性别等
行为序列 sparse 曝光序列
时间排序
对应行为
交互过的序列为主
行为统计 dense 行为序列包含
target attention
sideinfo序列?
各种统计
时间(1d/7d/6m)
维度(brand/cate)
商品信息 sparse
side info包含
商品属性信息
商品统计 dense 放弃? 商品全场景效率统计
场景统计 dense side info加场景?
否则只能放弃
场景内效率统计
上下文 sparse 放弃 上下文特征 position、time

4# 序列信息对比

行为序列中超过半年的有
Pasted image 20240705184433.png
半年-用户点击商品-去重 95%的点击长度不到122

nrow avg_clk_cspu_set_size max_size min_size
1 1.0 1 1
2 1.0 1 1
3 1.0 1 1
4 1.6253557589434156 2 1
5 2.0 2 2
6 2.6950291427980324 3 2
7 3.313933057280783 4 3
8 4.238800094951729 5 4
9 5.361683213430271 6 5
10 6.622790690820511 7 6
11 8.41926615503423 9 7
12 10.545792688629385 12 9
13 13.276215569603133 15 12
14 16.87280245368841 19 15
15 21.749590458604658 25 19
16 28.649816866277366 33 25
17 39.009800542981566 46 33
18 56.24465086705472 69 46
19 91.0510507136846 122 69
20 263.25581251145314 21684 122
半年-用户曝光未点击-序列
nrow avg_cspu_set_size max_cspu_set_size min_cspu_set_size
1 1.0 1 1
2 1.8874791442851482 3 1
3 3.0 3 3
4 3.735776016424266 5 3
5 5.536095589581591 6 5
6 7.554326333754676 9 6
7 10.44569675551624 12 9
8 14.494199592775852 17 12
9 20.1131525752258 24 17
10 28.01962242424109 33 24
11 39.07454510827324 46 33
12 54.68846426199999 64 46
13 76.89072061320397 91 64
14 108.68811584108668 129 91
15 155.11521319082792 185 129
16 225.09093165876791 272 185
17 336.8879388625474 415 272
18 534.0983758167371 685 415
19 956.484335509485 1348 685
20 3110.240310796316 231863 1348

原文:
在低计算资源条件下,由于手工制作的特征,传统DLRM排序可能优于GRs,这证实了特征工程在传统DLRM中的重要性。(10^5petaflops 持平)。
缩放率生效,GRs1.5万亿个参数模型,而DLRMs的性能在约2000亿个参数时饱和。
我们对模型进行了100B以上的训练(相当于DLRM),每个作业使用64-256个H100。

最终,我们所有主要的指标,包括检索任务中的Hit Rate@100和Hit Rate@500,以及排名任务中的NE,只要给定适当的超参数,都会根据所使用的计算量呈现出幂律缩放。

我们在三个数量级上观察到这一现象,一直到我们能够测试的最大模型(具有8192的序列长度、1024的嵌入维度和24层的HSTU),此时我们使用的总计算量(标准化为一年的使用量,因为我们采用的是标准的流式训练设置)接近于GPT-3(Brown等人,2020年)和LLaMa2(Touvron等人,2023b)所使用的总训练计算量,如图1所示。

在合理的范围内,确切的模型超参数相比于应用的总训练计算量来说,其影响较小。

与语言建模不同,在推荐系统中序列长度起着更加重要的作用,需要同时增加序列长度和其他参数。

这可能是我们提出方法的最重要优势,因为我们首次展示了大型语言模型的扩展法则也可能适用于大规模推荐系统。


如何计算 Petaflops

FLOPs 是floating point of operations的缩写,是浮点运算次数,可以用来衡量算法/模型复杂度。

FLOPS和FLOPs、GFLOPs区别与计算

MFLOPS(megaFLOPS)等于每秒一百万(=10^6)次的浮点运算
GFLOPS(gigaFLOPS)等于每秒十亿(=10^9)次的浮点运算
TFLOPS(teraFLOPS)等于每秒一万亿(=10^12)次的浮点运算(1太拉)
PFLOPS(petaFLOPS)等于每秒一千万亿(=10^15)次的浮点运算
EFLOPS(exaFLOPS)等于每秒一百京(=10^18)次的浮点运算
ZFLOPS(zettaFLOPS)等于每秒十万京(=10^21)次的浮点运算

样本量
Pasted image 20240705181517.png

计算量
Pasted image 20240705181631.png
openai.com/index/ai-and

Loss
Pasted image 20240705181611.png

序列构建
Pasted image 20240705181551.png